package com.example.blogback.service;

import com.example.blogback.dto.CategoryDTO;
import com.example.blogback.entity.Category;
import com.example.blogback.vo.CategoryTreeVO;

import java.util.List;

public interface CategoryService {
    /**
     * 创建分类
     */
    void createCategory(CategoryDTO categoryDTO);

    /**
     * 更新分类
     */
    void updateCategory(CategoryDTO categoryDTO);

    /**
     * 删除分类
     */
    void deleteCategory(Long id);

    /**
     * 获取分类树
     */
    List<Category> getCategoryTree();

    /**
     * 获取所有一级分类
     */
    List<Category> getTopCategories();

    /**
     * 获取指定分类的子分类
     */
    List<Category> getSubCategories(Long parentId);

    CategoryTreeVO getCategoryTreeWithArticles(Long categoryId);
}